package com.simple.core.config;

import com.simple.core.util.SessionContext;
import com.simple.core.util.SpringContext;
import org.springframework.data.domain.AuditorAware;

import java.util.Optional;

/**
 * @author FanXing
 * @date 2023年03月09日 17:25
 */
class AuditorAwareImpl implements AuditorAware<String> {
    private final SessionContext sessionContext = SpringContext.getBean(SessionContext.class);

    @Override
    public Optional<String> getCurrentAuditor() {
        try {
            // 这里应根据实际业务情况获取具体信息
            return Optional.of(sessionContext.getCurrentUserId());
        } catch (Exception ignored) {
        }
        // 用户定时任务，或者无Token调用的情况
        return Optional.of("System");
    }
}
